package service;

import entity.Role;
import entity.RoleFunction;

import java.util.Collection;
import java.util.List;

/**
 * Created by asus on 2017/6/20.
 */
public interface RoleService {
    /**
     * 保存角色信息，同时保存角色对应的功能
     *
     * @param role
     * @param roleFunctions
     */
    public void addRole(Role role, List<RoleFunction> roleFunctions);

    /**
     * 修改角色信息，同时修改角色对应的功能
     *
     * @param role
     * @param roleFunctions
     */
    public void editRole(Role role, List<RoleFunction> roleFunctions);

    /**
     * 分页查询角色信息
     *
     * @param page
     * @param size
     * @return
     */
    public List<Role> getRoles(int page, int size);

    /**
     * 根据id删除角色
     *
     * @param roleId
     */
    public void deleteRole(Long roleId);

    /**
     * 根据id集合查询角色信息
     *
     * @param ids
     * @return
     */
    public List<Role> getRoles(Collection<Long> ids);

    /**
     * 根据用户id查询用户功能对应关系
     *
     * @param roleId
     * @return
     */
    public List<RoleFunction> getRoleFunction(Long roleId);

}
